using System.Collections.Generic;
using Dune.Business.Managers;
using Edge.Business.Managers;

namespace Dune.Business.Domain.Users
{
    public interface IUserManager : IAbstractManager<User, int>, IFilteredSearch<User, UserFilter>
    {
        User GetContactByMail(string email);

        /// <summary>
        /// return CustomerContact.NullCustomerContact if authorization failed
        /// </summary>
        /// <param name="email"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        User Login(string email, string password);

        /// <summary>
        /// return true if login is empty, return false if login is busy
        /// </summary>
        /// <param name="login"></param>
        /// <param name="cc"></param>
        /// <returns></returns>

        bool LoginEmpty(string login, User cc);

        /// <summary>
        /// return true if login is empty, return false if login is busy
        /// </summary>
        /// <param name="login"></param>
        /// <returns></returns>

        bool LoginEmpty(string login);

    }
}